﻿using System;
using System.Windows.Forms;
using AlgorytmyGenetyczne;

namespace AlgorytmyGenetyczneGUI
{
    public partial class UserControlFunkcja : UserControl
    {
        #region Wlasciwosci

        public string WzorFunkcji
        {
            get
            {
                return textBoxWzorFunkcji.Text;
            }
            set
            {
                textBoxWzorFunkcji.Text = value;
            }
        }

        public double DziedzinaStart
        {
            get
            {
                WypelnianieKontrolek.wpiszZeroDoTextBoxJesliPusty(textBoxDziedzinaStart);
                return Double.Parse(textBoxDziedzinaStart.Text);
            }
            set
            {
                textBoxDziedzinaStart.Text = value.ToString();
            }
        }

        public double DziedzinaStop
        {
            get
            {
                WypelnianieKontrolek.wpiszZeroDoTextBoxJesliPusty(textBoxDziedzinaStop);
                return Double.Parse(textBoxDziedzinaStop.Text);
            }
            set
            {
                textBoxDziedzinaStop.Text = value.ToString();
            }
        }

        public int IloscParametrow
        {
            get
            {
                WypelnianieKontrolek.wpiszZeroDoTextBoxJesliPusty(textBoxIloscParametrow);
                return Int32.Parse(textBoxIloscParametrow.Text);
            }
            set
            {
                textBoxIloscParametrow.Text = value.ToString();
            }
        }

        public IFunkcja Funkcja
        {
            get
            {
                if (comboBoxFunkcja.SelectedItem != null)
                {
                    return (IFunkcja)comboBoxFunkcja.SelectedItem;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                if (!comboBoxFunkcja.Items.Contains(value))
                {
                    comboBoxFunkcja.Items.Add(value);
                }
                comboBoxFunkcja.SelectedItem = value;
            }
        }

        public ComboBox.ObjectCollection KolekcjaFunkcji { get; set; }

        #endregion

        public UserControlFunkcja()
        {
            InitializeComponent();

        }
    }
}
